<?php declare(strict_types=1);
/**
 * @author      xianganyall <xianganyall@gmail.com>
 * @copyright   2023-2025 owner
 **/
die('ERR');
?>
########################################################################################################################
# @{ROOT_PATH/SRV_PATH/APPS_PATH/COMPOSER_PATH/CONF_PATH/LIBS_PATH/DATA_PATH/LOGS_PATH/TMP_PATH} @{xxx}
#----------------------------------------------------------------------------------------------------------------------#
### PHP
PHP.versionMin                          = 7.4.0
PHP.timeZone                            = Asia/Shanghai
PHP.timeLimit                           = 10
PHP.extList                             = date,openssl,bcmath,json,mbstring,mysqli,SimpleXML,sockets,Phar,redis,swoole
PHP.errorLevel                          = ALL
PHP.chRoot                              = FALSE
#----------------------------------------------------------------------------------------------------------------------#
### PRO
PRO.release                             = FALSE
PRO.serverName                          = admXcTvSrv
PRO.name                                = XcTvAdm
PRO.version                             = 1.0.0.231103
PRO.dataPath                            = @{ROOT_PATH}Data/
PRO.logPath                             = @{DATA_PATH}Logs/
PRO.tmpPath                             = @{DATA_PATH}Tmp/
#----------------------------------------------------------------------------------------------------------------------#
### LOG[0-off,1-fatal,2-error,3-exception,4-warn,5-info,6-debug,7-trace]
LOG.level                               = 7
LOG.cacheSize                           = 0
LOG.cacheTime                           = 0
LOG.fatalFile                           = @{PRO.logPath}fatal.log
LOG.errorFile                           = @{PRO.logPath}error.log
LOG.exceptionFile                       = @{PRO.logPath}exception.log
LOG.warnFile                            = @{PRO.logPath}warn.log
LOG.infoFile                            = @{PRO.logPath}info.log
LOG.debugFile                           = @{PRO.logPath}debug.log
LOG.traceFile                           = @{PRO.logPath}trace.log
#----------------------------------------------------------------------------------------------------------------------#
### NET
NET.auto.proxyHttp                      = FALSE
NET.auto.proxyHttpHost                  = 127.0.0.1
NET.auto.proxyHttpPort                  = 8889
NET.auto.proxyHttpUsername              =
NET.auto.proxyHttpPassword              =
NET.auto.proxySocks5                    = TRUE
NET.auto.proxySocks5Host                = 127.0.0.1
NET.auto.proxySocks5Port                = 1089
NET.auto.proxySocks5Username            =
NET.auto.proxySocks5Password            =
#----------------------------------------------------------------------------------------------------------------------#
### LANG
LANG.defaultSet                         = zh
LANG.files.zh                           = @{CONF_PATH}Lang/zh.php
#----------------------------------------------------------------------------------------------------------------------#
### SERVICE-MODE
WEBSOCKET.processPrefix                 = @{PRO.name}-          // 进程前缀
WEBSOCKET.host                          = ::
WEBSOCKET.listen                        = 9062
WEBSOCKET.workerNum                     = 2                     // Work进程数
WEBSOCKET.taskWorkerNum                 = 1                     // Task进程数
WEBSOCKET.daemonIze                     = FALSE                 // 是否守护模式
WEBSOCKET.heartbeatIdleTime             = 60                    // 空闲关闭时间[秒]
WEBSOCKET.heartbeatCheckInterval        = 30                    // 间隔遍历时间[秒]
WEBSOCKET.openEofCheck                  = FALSE                 // EOF检测
WEBSOCKET.openLengthCheck               = TRUE                  // 包检查
WEBSOCKET.packageMaxLength              = 2048000               // 包最大长度[默认:2M]
WEBSOCKET.bufferOutputSize              = 2048000               // End或Write最大长度[默认:2M]
WEBSOCKET.packageLengthOffset           = 0                     // 包头偏移数
WEBSOCKET.packageLengthType             = N                     // 格式类型[N=4]
WEBSOCKET.packageBodyOffset             = 4                     // 包内容偏移数
WEBSOCKET.dispatchMode                  = 2                     // 固定模式[1-轮循,2-固定,3-抢占,4-IP分配,5-UID分配,7-stream]
WEBSOCKET.maxRequest                    = 40960                 // 最大任务数
WEBSOCKET.maxWaitTime                   = 15                    // 重载最大等待时长[秒]
WEBSOCKET.backlog                       = 1024                  // 队列长度
WEBSOCKET.user                          = www                   // 进程用户名
WEBSOCKET.group                         = wwww                  // 进程用户组
WEBSOCKET.pidFile                       = @{LOGS_PATH}srv.pid   // PID文件地址
WEBSOCKET.logFile                       = @{LOGS_PATH}srv.log   // 日志文件地址
WEBSOCKET.logLevel                      = 0                     // 日志等级[0-DEBUG,1-TRACE,2-INFO,3-NOTICE,4-WARNING,5-ERROR,6-NONE]
WEBSOCKET.subProtocol                   = wssSrv                // 设置WebSocket子协议[空则无]
WEBSOCKET.uploadMaxSize                 = 33554432              // 上传最大文件大小[字节][32M]
WEBSOCKET.uploadTmpPath                 = @{PRO.tmpPath}        // 上传Tmp目录[暂存上传的文件]
WEBSOCKET.docRootPath                   = @{ROOT_PATH}PubRoot/  // 站点Root目录[配合静态资源]
WEBSOCKET.autoIndex                     = FALSE                 // 启用索引文件列表
WEBSOCKET.docStatic                     = TRUE                  // 启用静态资源访问
WEBSOCKET.docStaticPaths[]              = /favicon.ico          // 静态资源[必须/目录开头]
WEBSOCKET.docStaticPaths[]              = /index.html
WEBSOCKET.docStaticPaths[]              = /index.htm
WEBSOCKET.docStaticPaths[]              = /html/
WEBSOCKET.indexFiles[]                  = index.html            // 索引文件的文件名[index.html]
WEBSOCKET.indexFiles[]                  = index.htm

#----------------------------------------------------------------------------------------------------------------------#
### RESPONSE
RESPONSE.actionName                     =                       // 请求参数名字[A]
RESPONSE.actionOrder                    =                       // 请求参数顺序[G-get,P-post,S-server]
RESPONSE.actionRootNum                  = 1                     // 请求Root层级数[所有urlPath相对根]
RESPONSE.actionDefault                  = /index
RESPONSE.groupNameWebsDefault           = webs                  // 默认webHttp路由组名
RESPONSE.groupNameSocksDefault          = socks                 // 默认webSocket路由组名
RESPONSE.allowMethodList                = GET,POST              // 允许请求的方法名[,分割][不区分大小写][OPTIONS-固定允许]
#----------------------------------------------------------------------------------------------------------------------#
### ROUTE-webs
ROUTE.webs.recordLevel                  = 0                     // 记录运行等级[0-不记录,1-全记录,2-记录失败和运行慢]
ROUTE.webs.recordSlowTimeMill           = 0                     // 运行慢时长[毫秒][0-不记录运行慢]
ROUTE.webs.allowDiffTime                = 0
ROUTE.webs.appKey                       =
ROUTE.webs.appSecret                    =
ROUTE.webs.sigSkip                      = FALSE                 // 是否允许跳过签名校验
ROUTE.webs.sigSkipSecret                =                       // 跳过签名Secret
ROUTE.webs.reqHeaderFromCookie          = TRUE                  // 请求头允许Cookie补充[Socks时仅首次]
ROUTE.webs.reqHeaderFromGet             = FALSE                 // 请求头允许Get补充[Socks时仅首次]
ROUTE.webs.reqHeaderCheck               = FALSE                 // 请求头检查[Socks时仅首次][优先级:header>cookie>get]
ROUTE.webs.reqContentSig                = FALSE                 // 请求签名[Socks时仅首次]
ROUTE.webs.reqContentSecret             = NONE                  // 请求加密[NONE-不加密,RAND-随机密钥,RAND_AUTO-自动随机密码,或固定密钥16位][默认-NONE]
ROUTE.webs.reqContentType               = FROM                  // 请求格式[JSON,XML,PROTOBUF,FROM][默认-FROM]
ROUTE.webs.webSocket                    = FALSE                 // 是否是Socks模式
ROUTE.webs.webSocketAuth                = FALSE                 // 是否Socks认证成功才连接[仅Socks支持]
ROUTE.webs.rspContentSig                = FALSE                 // 响应签名[Socks不支持]
ROUTE.webs.rspContentSecret             = NONE                  // 响应加密[NONE-不加密,RAND-随机密钥,RAND_AUTO-自动识别请求加密状态,或固定密钥16位][默认-NONE]
ROUTE.webs.rspContentType               = HTML                  // 响应格式[JSON,XML,PROTOBUF,BINARY,TEXT,HTML][默认-HTML]
ROUTE.webs.smartyException              =
ROUTE.webs.smartyError                  =
ROUTE.webs.smartyNotFound               =
ROUTE.webs.smartyNoPermission           =
ROUTE.webs.smartyParamFail              =
ROUTE.webs.actionNotFoundRequest        =                       // 请求未找到执行当前组内path[当配置执行返回非True,将继续执行响应]
ROUTE.webs.actionNotPermission          =                       // 请求无权限执行当前组内path[当配置执行返回非True,将继续执行响应]
ROUTE.webs.actions.index                = Srv\Apps\Webs\Index\IndexWebsAct

#----------------------------------------------------------------------------------------------------------------------#
### ROUTE-apis
ROUTE.apis.recordLevel                  = 1
ROUTE.apis.recordSlowTimeMill           = 1000
ROUTE.apis.allowDiffTime                = 600
ROUTE.apis.appKey                       = XfAEKWp20TvBebqM
ROUTE.apis.appSecret                    = kzPVsnWFX9nuSwZgjYFjUlTO4VCWQOYu
ROUTE.apis.sigSkip                      = FALSE
ROUTE.apis.sigSkipSecret                =
ROUTE.apis.reqHeaderFromCookie          = FALSE
ROUTE.apis.reqHeaderFromGet             = FALSE
ROUTE.apis.reqHeaderCheck               = TRUE
ROUTE.apis.reqContentSig                = TRUE
ROUTE.apis.reqContentSecret             = RAND_AUTO
ROUTE.apis.reqContentType               = JSON
ROUTE.apis.webSocket                    = FALSE
ROUTE.apis.webSocketAuth                = FALSE
ROUTE.apis.rspContentSig                = TRUE
ROUTE.apis.rspContentSecret             = RAND_AUTO
ROUTE.apis.rspContentType               = JSON
ROUTE.apis.smartyException              = NONE
ROUTE.apis.smartyError                  = NONE
ROUTE.apis.smartyNotFound               = NONE
ROUTE.apis.smartyNoPermission           = NONE
ROUTE.apis.smartyParamFail              = NONE
ROUTE.apis.actionNotFoundRequest        =
ROUTE.apis.actionNotPermission          =
ROUTE.apis.actions.index                = Srv\Apps\Apis\Index\IndexApisAct
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Common/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Account/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Admin/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/User/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Order/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Wallet/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Develop/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Log/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Skit/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Banner/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Promotion/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Content/
ROUTE.apis.actionPaths[]                = @{APPS_PATH}Apis/Task/

#----------------------------------------------------------------------------------------------------------------------#
### ROUTE-socks
ROUTE.socks.recordLevel                 = 0
ROUTE.socks.recordSlowTimeMill          = 0
ROUTE.socks.allowDiffTime               = 600
ROUTE.socks.appKey                      = GEoCAxEPVtRHEt9T
ROUTE.socks.appSecret                   = 6l3BYrQP706gHXIKylBDJa4832mMwp3Q
ROUTE.socks.sigSkip                     = FALSE
ROUTE.socks.sigSkipSecret               =
ROUTE.socks.reqHeaderFromCookie         = TRUE
ROUTE.socks.reqHeaderFromGet            = TRUE
ROUTE.socks.reqHeaderCheck              = TRUE
ROUTE.socks.reqContentSig               = TRUE
ROUTE.socks.reqContentSecret            = NONE
ROUTE.socks.reqContentType              = JSON
ROUTE.socks.webSocket                   = TRUE
ROUTE.socks.webSocketAuth               = FALSE
ROUTE.socks.rspContentSig               = FALSE
ROUTE.socks.rspContentSecret            = NONE
ROUTE.socks.rspContentType              = JSON
ROUTE.socks.smartyException             = NONE
ROUTE.socks.smartyError                 = NONE
ROUTE.socks.smartyNotFound              = NONE
ROUTE.socks.smartyNoPermission          = NONE
ROUTE.socks.smartyParamFail             = NONE
ROUTE.socks.actionNotFoundRequest       =
ROUTE.socks.actionNotPermission         =
ROUTE.socks.actions.index               = Srv\Apps\Socks\Index\IndexSocksAct
#----------------------------------------------------------------------------------------------------------------------#
### TOKEN
TOKEN.renewTime                         = 18000                 // 提前续期时长[秒][5小时]
TOKEN.expireTime                        = 57600                 // 有效时长[秒][16小时]
TOKEN.checkCache                        = TRUE
TOKEN.checkDb                           = TRUE
TOKEN.validDevId                        = TRUE
TOKEN.validDevPlatform                  = TRUE
TOKEN.appId                             = sa75AlOn
TOKEN.appSecret                         = twa6fVrCxrlkRc8wwN0a06PzPLO5ZaBB
TOKEN.secretList.AbCd1234               =
#----------------------------------------------------------------------------------------------------------------------#
### CACHE
CACHE.auto.host                         = 192.168.15.211
CACHE.auto.port                         = 6379
CACHE.auto.prefix                       = XCA_
CACHE.auto.db                           = -1
CACHE.auto.password                     =
CACHE.auto.keepalive                    = TRUE
CACHE.auto.poolCheckTime                = 10
CACHE.auto.poolRecycleTime              = 30
CACHE.auto.poolWaitMilliTime            = 10000
CACHE.auto.poolStartNum                 = 1
CACHE.auto.poolMinNum                   = 1
CACHE.auto.poolMaxNum                   = 3

#----------------------------------------------------------------------------------------------------------------------#
### CACHE API
CACHE.api.host                          = 192.168.15.211
CACHE.api.port                          = 6379
CACHE.api.prefix                        = XCS_
CACHE.api.db                            = -1
CACHE.api.password                      =
CACHE.api.keepalive                     = TRUE
CACHE.api.poolCheckTime                 = 10
CACHE.api.poolRecycleTime               = 30
CACHE.api.poolWaitMilliTime             = 10000
CACHE.api.poolStartNum                  = 1
CACHE.api.poolMinNum                    = 1
CACHE.api.poolMaxNum                    = 3

#----------------------------------------------------------------------------------------------------------------------#
### DB-Write
DB.auto.ssl                             = TRUE
DB.auto.host                            = 192.168.15.210
DB.auto.port                            = 3306
DB.auto.username                        = xctv_user
DB.auto.password                        = UsqXOdXpOMaF0ym3QTU62uPRoxATL2a1
DB.auto.dbname                          = xctv
DB.auto.prefix                          = cv_
DB.auto.charset                         = utf8mb4
DB.auto.collate                         = utf8mb4_unicode_ci
DB.auto.sqlMode                         = STRICT_TRANS_TABLES,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
DB.auto.logPath                         = @{LOGS_PATH}mysql.auto.log
DB.auto.keepalive                       = TRUE
DB.auto.poolCheckTime                   = 30
DB.auto.poolRecycleTime                 = 300
DB.auto.poolWaitMilliTime               = 10000
DB.auto.poolStartNum                    = 1
DB.auto.poolMinNum                      = 1
DB.auto.poolMaxNum                      = 3
#----------------------------------------------------------------------------------------------------------------------#
### DB-Read
DB.read.ssl                             = TRUE
DB.read.host                            = 192.168.15.211
DB.read.port                            = 3306
DB.read.username                        = xctv_read
DB.read.password                        = KPjc5HL4sO0CljZGTcbArKWhSlBmLddj
DB.read.dbname                          = xctv
DB.read.prefix                          = cv_
DB.read.charset                         = utf8mb4
DB.read.collate                         = utf8mb4_unicode_ci
DB.read.sqlMode                         = STRICT_TRANS_TABLES,NO_AUTO_VALUE_ON_ZERO,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO
DB.read.logPath                         = @{LOGS_PATH}mysql.read.log
DB.read.keepalive                       = TRUE
DB.read.poolCheckTime                   = 30
DB.read.poolRecycleTime                 = 300
DB.read.poolWaitMilliTime               = 10000
DB.read.poolStartNum                    = 1
DB.read.poolMinNum                      = 1
DB.read.poolMaxNum                      = 3
#----------------------------------------------------------------------------------------------------------------------#
SMARTY.tplPath                          = @{APPS_PATH}Webs/
SMARTY.cplPath                          = @{DATA_PATH}Smarty/cpl/
SMARTY.confPath                         = @{DATA_PATH}Smarty/conf/
SMARTY.cachePath                        = @{DATA_PATH}Smarty/cache/
SMARTY.cacheGroupName                   = auto
SMARTY.cacheTime                        = 0
SMARTY.subPath                          = TRUE
SMARTY.debug                            = FALSE
SMARTY.check                            = TRUE
SMARTY.left                             = <{
SMARTY.right                            = }>
SMARTY.class.Link                       = Srv\Apps\Smarty\SmartyLink
SMARTY.plugin.modifier                  = Srv\Apps\Smarty\SmartyPluginModifier
SMARTY.plugin.block                     = Srv\Apps\Smarty\SmartyPluginBlock
SMARTY.plugin.functionNameNew           =
#----------------------------------------------------------------------------------------------------------------------#
IP.datPath                              = @{DATA_PATH}Res/qqwry.dat
PHONE.datPath                           = @{DATA_PATH}Res/phone.dat
#----------------------------------------------------------------------------------------------------------------------#
### STORAGE-Tencent
STORAGE.cos.category                    = STS
STORAGE.cos.appId                       =
STORAGE.cos.appName                     =
STORAGE.cos.httpFile                    =
STORAGE.cos.httpImage                   =
STORAGE.cos.point                       =
STORAGE.cos.secretId                    =
STORAGE.cos.secretKey                   =
STORAGE.cos.secretKeyFile               =
STORAGE.cos.firebaseAdmFile             =
STORAGE.cos.firebaseCustomTokenTtl      =
### STORAGE-Google-Public
STORAGE.res.category                    = SGS
STORAGE.res.appId                       = 920414322497                                                              // 项目编号
STORAGE.res.appName                     = xcres
STORAGE.res.secretKeyFile               = @{CONF_PATH}Google/xctv-404008-33066a7fb47b.json                          // 服务密钥
STORAGE.res.httpFile                    = https://xctv-res.xc.com
STORAGE.res.httpImage                   = https://xctv-res.xc.com
STORAGE.res.firebaseAdmFile             = @{CONF_PATH}Google/xctv-404008-firebase-adminsdk-b9yo7-484f5d10e1.json    // firebase密钥
STORAGE.res.firebaseCustomTokenTtl      = 3600
### STORAGE-Google-Video
STORAGE.vod.category                    = SGS
STORAGE.vod.appId                       = 920414322497                                                              // 项目编号
STORAGE.vod.appName                     = xcvod
STORAGE.vod.secretKeyFile               = @{CONF_PATH}Google/xctv-404008-33066a7fb47b.json                          // 服务密钥
STORAGE.vod.httpFile                    = https://xctv-vod.xc.com
STORAGE.vod.httpImage                   = https://xctv-vod.xc.com
STORAGE.vod.firebaseAdmFile             = @{CONF_PATH}Google/xctv-404008-firebase-adminsdk-b9yo7-484f5d10e1.json    // firebase密钥
STORAGE.vod.firebaseCustomTokenTtl      = 3600
#----------------------------------------------------------------------------------------------------------------------#
### JPUSH-极光
JPUSH.appKey                            =
JPUSH.secret                            =
JPUSH.logPath                           = @{LOGS_PATH}push_jiguang.log
JPUSH.ios                               = 2                                 // 苹果推送[0-不推送,1-生产,2-开发,3-生产+开发]
JPUSH.android                           = 1                                 // 安卓推送[0-不推送,1-推送]
JPUSH.androidUriActivity                = com.xc.shortplay.PushClickActivity
JPUSH.androidUriAction                  = com.xc.shortplay.PushClickActivity
#----------------------------------------------------------------------------------------------------------------------#
### JPUSH-极光
JVERIFY.appKey                          =
JVERIFY.secret                          =
JVERIFY.publicPemFile                   = @{CONF_PATH}JPushVerify/rsa_public_key.pem
JVERIFY.privatePemFile                  = @{CONF_PATH}JPushVerify/rsa_private_key.pem
#----------------------------------------------------------------------------------------------------------------------#
### WPUSH-pushwoosh
WPUSH.appKey                            =
WPUSH.secret                            =
WPUSH.logPath                           = @{LOGS_PATH}push_woosh.log
#----------------------------------------------------------------------------------------------------------------------#
### SMS-Tencent
SMS.qc.appId                            =
SMS.qc.appSign                          =
SMS.qc.secretId                         =
SMS.qc.secretKey                        =
SMS.qc.logPath                          = @{LOGS_PATH}sms_qc.log
#----------------------------------------------------------------------------------------------------------------------#
### EMAIL-Tencent
EMAIL.qc.fromAddress                    =
EMAIL.qc.fromName                       =
EMAIL.qc.apiKey                         =
EMAIL.qc.secretKey                      =
EMAIL.qc.logPath                        = @{LOGS_PATH}email_qc.log
### EMAIL-SendGrid
EMAIL.grid.fromAddress                  =
EMAIL.grid.fromName                     =
EMAIL.grid.apiKey                       =
EMAIL.grid.secretKey                    =
EMAIL.grid.logPath                      = @{LOGS_PATH}email_grid.log
### EMAIL-AWS
EMAIL.aws.fromAddress                   =
EMAIL.aws.fromName                      =
EMAIL.aws.apiKey                        =
EMAIL.aws.secretKey                     =
EMAIL.aws.logPath                       = @{LOGS_PATH}email_aws.log
#----------------------------------------------------------------------------------------------------------------------#
### SIGNIN
SIGNIN.appleBundleIds[]                 = com.xc.shortplay
SIGNIN.qqAppId                          =
SIGNIN.qqAppKey                         =
SIGNIN.qqAIsUnionId                     = TRUE
SIGNIN.weChatAppId                      =
SIGNIN.weChatAppSecret                  =
SIGNIN.weiboAppId                       =
#----------------------------------------------------------------------------------------------------------------------#
### PAY-Alipay
PAYAL.alipay.logPath                    = @{LOGS_PATH}payal.alipay.log
PAYAL.alipay.appId                      =
PAYAL.alipay.accountId                  =
PAYAL.alipay.account                    =
PAYAL.alipay.expireTime                 = 2h
PAYAL.alipay.notifyUrl                  = https://apidevmt.nilela.com/api/payback/alipay
PAYAL.alipay.privateFile                = @{CONF_PATH}Alipay/rsa_private_key.pem
PAYAL.alipay.publicFile                 = @{CONF_PATH}Alipay/rsa_public_key.pem
PAYAL.alipay.alipayPublicFile           = @{CONF_PATH}Alipay/alipay_public_key.pem
#----------------------------------------------------------------------------------------------------------------------#
### PAY-WeChat
PAYWX.wechat.logPath                    = @{LOGS_PATH}paywx.wechat.log
PAYWX.wechat.mchId                      =
PAYWX.wechat.mchName                    =
PAYWX.wechat.appId                      =                               // 开放平台应用Id
PAYWX.wechat.appKey                     =                               // 商户API-V2密钥
PAYWX.wechat.expireTime                 = 7200
PAYWX.wechat.notifyUrl                  = https://apidevmt.nilela.com/api/payback/wechat
PAYWX.wechat.apiClientCertFile          =
PAYWX.wechat.apiClientKeyFile           =
#----------------------------------------------------------------------------------------------------------------------#
### PAY-Apple
PAYAP.apple.logPath                     = @{LOGS_PATH}payap.apple.log
PAYAP.apple.notifyUrl                   = https://apidevxc.nilela.com/api/payback/apple
PAYAP.apple.rootCaCerFile               = @{CONF_PATH}ApplePay/AppleRootCA-G3.cer
PAYAP.apple.subKeyFiles.3UBTD4AFDY      = @{CONF_PATH}ApplePay/SubscriptionKey_3UBTD4AFDY.p8
PAYAP.apple.keyId                       = 3UBTD4AFDY
PAYAP.apple.issId                       = 23761a90-a25c-4198-9ca6-8f530c567621
PAYAP.apple.proPassword                 =
PAYAP.apple.proBundleIds[]              = com.xc.shortplay
PAYAP.apple.devPassword                 =
PAYAP.apple.devBundleIds[]              = com.xc.shortplay
#----------------------------------------------------------------------------------------------------------------------#
### Apple-Connect-Api
APPLEAUTH.connect.appleBundleId         = com.xc.shortplay
APPLEAUTH.connect.appId                 = 6472561212
APPLEAUTH.connect.issId                 = 23761a90-a25c-4198-9ca6-8f530c567621
APPLEAUTH.connect.keyId                 = J9KC26YPMX
APPLEAUTH.connect.authKeyFile           = @{CONF_PATH}AppleAuth/AuthKey_J9KC26YPMX.p8
APPLEAUTH.connect.rootCaCerFile         = @{CONF_PATH}ApplePay/AppleRootCA-G3.cer
#----------------------------------------------------------------------------------------------------------------------#
### Apple-Server-Api
APPLEAUTH.server.appleBundleId          = com.xc.shortplay
APPLEAUTH.server.appId                  = 6472561212
APPLEAUTH.server.issId                  = 23761a90-a25c-4198-9ca6-8f530c567621
APPLEAUTH.server.keyId                  = 3UBTD4AFDY
APPLEAUTH.server.authKeyFile            = @{CONF_PATH}ApplePay/SubscriptionKey_3UBTD4AFDY.p8
APPLEAUTH.server.rootCaCerFile          = @{CONF_PATH}ApplePay/AppleRootCA-G3.cer
#----------------------------------------------------------------------------------------------------------------------#
### Apple-Device-Api
APPLEAUTH.device.appleBundleId          =
APPLEAUTH.device.appId                  =
APPLEAUTH.device.issId                  =
APPLEAUTH.device.keyId                  =
APPLEAUTH.device.authKeyFile            =
#----------------------------------------------------------------------------------------------------------------------#
### Google-Play-Developer-Api
GPLAYAUTH.play.androidBundleId          = com.xc.shortplay
GPLAYAUTH.play.projectId                = xctv-404008
GPLAYAUTH.play.secretKeyFile            = @{CONF_PATH}GooglePlay/xctv-404008-14708df4494d.json                      // 服务密钥
#----------------------------------------------------------------------------------------------------------------------#